//实现可迭代接口

// const obj = {
//     //iterable
//     [Symbol.iterator]:function(){
//         //iterator 内部必须要有一个next方法
//         return {
//             next:function(){
//                 //iterationResult 实现迭代结果的接口
//                 //这个接口约定的是在这个对象内部必须要有一个value属性用来表示当前被迭代到的数据，值可以是任意类型。
//                 //还需要有一个done的布尔值，用来表示迭代有没有结束
//                 return {
//                     value: "ykk",
//                     done: true
//                 }
//             }
//         }
//     }
// }
const obj = {
    store:["foo","bar","boo"],
    [Symbol.iterator]:function(){
        let self = this
        let index = 0
        return {
            next:function(){
                const result = {
                    value: self.store[index],
                    done: index>=self.store.length
                }
                index ++
                return result
            }  
        }
    }
}

for(const item of obj){
    console.log(item)
}



